Mix (build Tool)
   HOME

TheInfoList



OR:

Mix is a build automation tool for working with applications written in the
Elixir ELIXIR (the European life-sciences Infrastructure for biological Information) is an initiative that will allow life science laboratories across Europe to share and store their research data as part of an organised network. Its goal is to bring t ...
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
. Mix was created in 2012 by Anthony Grimes, who took inspiration from Clojure's Leiningen. Soon after, Mix was merged into the Elixir programming language itself and to this day is one of the six applications that are part of the Elixir language. Mix provides functionality for creating, compiling, and testing Elixir
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the wo ...
and for managing dependencies and deploying Elixir applications.


Mix tasks

Mix provides tasks to create, clean, build,
compile In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
,
run Run(s) or RUN may refer to: Places * Run (island), one of the Banda Islands in Indonesia * Run (stream), a stream in the Dutch province of North Brabant People * Run (rapper), Joseph Simmons, now known as "Reverend Run", from the hip-hop group ...
, and
test Test(s), testing, or TEST may refer to: * Test (assessment), an educational assessment intended to measure the respondents' knowledge or other abilities Arts and entertainment * ''Test'' (2013 film), an American film * ''Test'' (2014 film), ...
Elixir applications. For example, Mix may be used to create a new Elixir project, such as a new hello_world application. Running mix new hello_world will result in $ mix new hello_world * creating README.md * creating .formatter.exs * creating .gitignore * creating mix.exs * creating config * creating config/config.exs * creating lib * creating lib/hello_world.ex * creating test * creating test/test_helper.exs * creating test/hello_world_test.exs Your Mix project was created successfully. You can use "mix" to compile it, test it, and more: cd hello_world mix test Run "mix help" for more commands.


Mix projects

Mix uses the information defined in a Mix Project to compile, build, and assemble the application. By convention, this information is typically managed in an Elixir script file named mix.exs. The file may include version information, dependencies, and other configuration information.


Application

As the Elixir build tool, Mix is used on applications that target the Erlang virtual machine (as opposed to the
Java virtual machine A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes ...
or the .NET
Common Language Runtime The Common Language Runtime (CLR), the virtual machine component of Microsoft .NET Framework, manages the execution of .NET programs. Just-in-time compilation converts the managed code (compiled intermediate language code) into machine instructio ...
). Mix is used with web applications built on the Phoenix framework.


See also

*
List of build automation software Build automation involves scripting or automating the process of compiling computer source code into binary code. Below is a list of notable tools associated with automating build processes. Make-based * GNU make, a make implementation with a ...
*
Phoenix (web framework) Phoenix is a web development framework written in the functional programming language Elixir. Phoenix uses a server-side model–view–controller (MVC) pattern. Based on thPluglibrary, and ultimately thCowboy Erlang framework, it was develope ...


References


External links


Official website

Source code on GitHub
Build automation Compiling tools Software using the MIT license {{software-eng-stub